package org.zhadoop.stream.api;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 对某个类进行申明，表明它是Streamingconfig 中的一个属性
 * 
 * 该申明只能放在属性上
 * 
 * 为了使用反射只能取到Retention为RUNTIME和CLASS的注解
 * @author zwd
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface ConfigAnnotation {
	/**
	 * 对应config 中的属性键值
	 * 
	 * 当整个annotation 只有一个属性的时候，推荐使用value
	 * 这样就可以使@ConfigAnnotation("xx")的方式
	 * 不然就必须使用@ConfigAnnotation(name="xx")
	 */
	String value();
}
